package org.jsola.hr.vo.payAli.safetyPay;

import com.alibaba.fastjson.annotation.JSONField;
import io.swagger.annotations.ApiModel;
import lombok.Data;

/**
 * 异步通知参数(安全发单笔转账)
 *
 * @author zhr
 */
@ApiModel(description = "异步通知参数(安全发单笔转账)")
@Data
public class BizContentSafetyOne {

    /**
     * 支付宝支付资金流水号。
     */
    @JSONField(name = "pay_fund_order_id")
    private String payFundOrderId;

    /**
     * 商户端的唯一订单号。
     */
    @JSONField(name = "out_biz_no")
    private String outBizNo;

    /**
     * 销售产品码，BATCH_API_TO_ACC_NO_PWD
     */
    @JSONField(name = "product_code")
    private String productCode;

    /**
     * 业务场景，MESSAGE_SATF_BATCH_PAY
     */
    @JSONField(name = "biz_scene")
    private String bizScene;

    /**
     * 请求来源的接口
     * alipay.fund.batch.create
     */
    @JSONField(name = "origin_interface")
    private String originInterface;

    /**
     * 支付宝转账单据号。
     */
    @JSONField(name = "order_id")
    private String orderId;

    /**
     * 转账单据状态。
     * SUCCESS：成功（对转账到银行卡的单据, 该状态可能变为退票[REFUND]状态）；
     * FAIL：失败（具体失败原因请参见error_code以及fail_reason返回值）；
     * DEALING：处理中；
     * REFUND：退票；
     */
    @JSONField(name = "status")
    private String status;

    /**
     * 失败码
     */
    @JSONField(name = "error_code")
    private String errorCode;

    /**
     * 失败原因
     */
    @JSONField(name = "fail_reason")
    private String failReason;

    /**
     * 资金订单的操作类型，取值如下：
     * FINISH- 订单处理已完结；
     */
    @JSONField(name = "action_type")
    private String actionType;

    /**
     * 转账金额
     */
    @JSONField(name = "trans_amount")
    private String transAmount;

    /**
     * 支付完成时间
     */
    @JSONField(name = "pay_date")
    private String payDate;

}

